package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;

public class IteratorTest {
/*
 * java.util.Iterator : Collection객체(List, Set)가 가진 element들을 조회하는 역할, 집에가서 공부하자
 * 
 * - next():Object - 조회
 * - hasNext():boolean - 조회할 객체가 (남아)있는지 체크
 * - remove() -삭제
 * - 
 */
	
	//hashSet과 ArrayList의 차이점을 공부하자. 
	public static void main(String[] args) {
		HashSet set = new HashSet(5);//초기 저장할  수 있는 객체의 개수 지정. 더 집어넣을러고 하면 늘어난다. 
		set.add("a");
		set.add("b");
		set.add("c");
		set.add("d");
		iteratorTest(set);
		ArrayList list = new ArrayList();
		list.add("가");
		list.add("나");
		list.add("다");
		list.add("라");
		iteratorTest(list);
	}
	public static void iteratorTest(Collection c){
		//Set/List의 조회방식 통일, set은 v1.4까지는 이 방식밖에 없었다.
		//향상된 포문때문에 잘 안쓰이게 됬지는 뭔지는 알아두자
		Iterator itr = c.iterator();
		while(itr.hasNext()){
			Object o = itr.next();
			System.out.println(o);
		}
	}
}
